package com.mall.order.service;

import com.mall.common.dto.OrderNoteDto;
import com.mall.common.dto.SeckillOrderDTO;
import com.mall.common.page.PageData;
import com.mall.common.service.CrudService;
import com.mall.order.dto.OrderDTO;
import com.mall.order.entity.OrderEntity;
import com.mall.order.vo.OrderConformVo;
import com.mall.order.vo.OrderResponseVo;
import com.mall.order.vo.OrderSubmitVo;
import com.mall.order.vo.OrderVo;

import java.util.Map;

/**
 * 订单
 *
 * @author xjc xjc@163.com
 * @since 1.0.0 2022-07-17
 */
public interface OrderService extends CrudService<OrderEntity, OrderDTO> {

    OrderConformVo orderConform();

    OrderResponseVo submitOrder(OrderSubmitVo orderSubmitVo);

    void saveOrder(OrderDTO order);

    OrderDTO getByOrderSn(String orderSn);

    void closeOrder(String orderSn);

    PageData<OrderVo> getPage(Map<String, Object> params);

    void successOrder(OrderNoteDto order);

    void saveSeckillOrder(SeckillOrderDTO seckillOrderDTO) throws Exception;
}